package com.dtp.core.support;

import com.dtp.common.entity.ThreadPoolStats;

import java.util.Collections;
import java.util.List;

/**
 * 指标感知类
 *
 * @author yanhom
 * @since 1.0.9
 *
 * @remark muse
 */
public interface MetricsAware {

    /**
     * 获得线程池状态，默认实现该方法的类：
     * 1> TomcatDtpAdapter
     * 2> JettyDtpAdapter
     * 3> UndertowDtpAdapter
     */
    default ThreadPoolStats getPoolStats() {return null;}

    /**
     * 获得多个线程池状态 默认实现该方法的类：
     * 1> AbstractDtpAdapter
     * 2> AbstractWebServerDtpAdapter
     */
    default List<ThreadPoolStats> getMultiPoolStats() {return Collections.emptyList();}
}
